home *** CD-ROM | disk | FTP | other *** search
/ Graphics & Sound Program…ng Techniques for the Mac / Graphics and Sound Programming Techniques for the Mac.iso / M&T Graphics & Sound Examples / Metrowerks Versions / C04 Speech / P01 Quick Speech / QuickSpeech.c next >
Encoding:
C/C++ Source or Header  |  1995-08-30  |  1.8 KB  |  86 lines  |  [TEXT/MMCC]

  1. //____________________________________________________________
  2. //    QuickSpeech.c
  3. //
  4. //    Copyright © Dan Parks Sydow, 1995
  5. //    From the book:
  6. //    "Graphics and Sound Programming Techniques for the Mac",
  7. //    M&T Books, 1995
  8.  
  9.  
  10. //____________________________________________________________
  11.  
  12. #include <Gestalt.h>
  13. #include <Speech.h>
  14.  
  15.  
  16. //____________________________________________________________
  17.  
  18. void     InitializeToolbox( void );
  19. Boolean  IsSpeechAvailable( void );
  20.  
  21.  
  22. //____________________________________________________________
  23.  
  24. void  main( void )
  25.    OSErr    theError;
  26.    Boolean  speechPresent;
  27.  
  28.    InitializeToolbox();
  29.  
  30.    speechPresent = IsSpeechAvailable();
  31.    if ( speechPresent == false )
  32.       ExitToShell();
  33.  
  34.    theError = SpeakString( "\pTesting 1 2 3 Testing 1 2 3" );
  35.    if ( theError != noErr )
  36.       ExitToShell();
  37.  
  38.    // ** if you don't hear speech on your Mac, uncomment the **
  39.    // ** following two lines and recompile. Then read a few  **
  40.    // ** more pages into Chapter 4 to see why the program is **
  41.    // ** ending before speech completes!                     **
  42.    
  43. //   while ( SpeechBusy() == true )
  44. //      ;
  45.  
  46. }
  47.  
  48.  
  49. //____________________________________________________________
  50.  
  51. Boolean  IsSpeechAvailable( void )
  52. {
  53.    OSErr    theError;
  54.    long     theResult;
  55.    Boolean  speechAvail;
  56.    
  57.    theError = Gestalt( gestaltSpeechAttr, &theResult );
  58.    if ( theError != noErr )
  59.       ExitToShell();
  60.       
  61.    speechAvail = theResult & ( 1 << gestaltSpeechMgrPresent );  
  62.    if ( speechAvail > 0 )
  63.       return ( true );
  64.    else
  65.       return ( false );
  66. }
  67.  
  68.  
  69. //____________________________________________________________
  70.  
  71. void  InitializeToolbox( void )
  72. {
  73.    InitGraf( &qd.thePort );
  74.    InitFonts();
  75.    InitWindows();
  76.    InitMenus();
  77.    TEInit();
  78.    InitDialogs( 0L );
  79.    FlushEvents( everyEvent, 0 );
  80.    InitCursor();
  81. }
  82.  
  83.  
  84.  
  85.